package com.kingyun.gpsinspection.purificationservice.dao.mapper.jsm;


import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.EntityType;

import java.util.List;

/**
 * 实体类型映射
 */
public interface EntityTypeMapper {

    /**
     * 删除实体类型
     * @param entityTypeId 实体类型
     * @return
     */
    int deleteByPrimaryKey(String entityTypeId);
    /**
     * 删除实体类型
     * @param record 插入
     * @return
     */
    int insert(EntityType record);

    /**
     * 删除实体类型
     *
     * @param record 插入
     * @return
     */
    default int insertSelective(EntityType record) {
        return 0;
    }

    /**
     * 查询
     * @param entityTypeId 插入
     * @return
     */
    EntityType selectByPrimaryKey(String entityTypeId);
    /**
     * 查询 - 实体类型列表
     * @param
     * @return
     */
    List<EntityType> selectEntityTypeList(EntityType record);
    /**
     * 根据实体类型查询所有的实体
     * @param record
     * @return
     */
    List<EntityType> selectEntityTypeListByEntityType(EntityType record);

    /**
     * 获取实体类型（就是设备类型）
     * @param record 模糊查询参数
     */
    List<EntityType> selectTableCount(EntityType record);
    /**
     * 获取实体类型（就是设备类型）
     * @param record 模糊查询参数
     */
    List<EntityType> selectTableList(EntityType record);

    /**
     * 查询 - 实体类型列表
     * @param
     * @return
     */
    List<EntityType> selectChildRenEntityType(String entityTypeId);

    /**
     * 查询 - 实体类型-修改
     * @param
     * @return
     */
    int updateByPrimaryKeySelective(EntityType record);


    /**
     * 查询 - 实体类型-修改
     * @param
     * @return
     */
    int updateByPrimaryKey(EntityType record);

    /**
     * @param record
     * @return
     */
    List<EntityType> selectAllList(EntityType record);

}